-
Notifications
You must be signed in to change notification settings - Fork 156
fix(tooltip): do not create arrow in SSR mode - 20.1.x #16281
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR fixes an SSR (Server-Side Rendering) issue by deferring tooltip arrow creation until after view initialization, ensuring it only happens in browser environments. The fix prevents errors when rendering tooltips on the server where DOM manipulation is not available.
- Moved arrow creation from constructor to
ngAfterViewInitwith browser environment check - Updated tooltip target to handle cases where arrow may not exist yet
- Updated test assertions to reflect new DOM structure (arrow element is now at index 0 instead of 1)
Reviewed Changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 7 comments.
| File | Description |
|---|---|
| projects/igniteui-angular/src/lib/directives/tooltip/tooltip.directive.ts | Deferred arrow creation to ngAfterViewInit with platform check to prevent SSR issues |
| projects/igniteui-angular/src/lib/directives/tooltip/tooltip-target.directive.ts | Added null checks for arrow element and moved arrow visibility logic to ngAfterViewInit |
| projects/igniteui-angular/src/lib/grids/grid/grid-validation.spec.ts | Updated test assertions to access error message from correct DOM child index |
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
Closes #16273
Additional information (check all that apply):
Checklist:
feature/README.MDupdates for the feature docsREADME.MDCHANGELOG.MDupdates for newly added functionalityng updatemigrations for the breaking changes (migrations guidelines)